package com.anti.modular.bus.roomdeposit.service;

import com.anti.jdbc.support.page.PageParam;
import com.anti.jdbc.support.page.PageResult;
import com.anti.modular.bus.roomdeposit.entity.RoomDeposit;
import com.anti.modular.bus.roomdeposit.param.RoomDepositParam;
import com.anti.modular.bus.roomdeposit.result.LeaseDepositResult;
import com.anti.modular.bus.roomdeposit.result.RoomDepositResult;

import java.util.List;

/**
 * 房间押金表service接口
 *
 * @author anti
 * @date 2021-04-18 17:08:42
 */
public interface RoomDepositService{

    /**
    * 根据主键查询实体
    */
    RoomDeposit getById(RoomDepositParam roomDepositParam);

    /**
     * 查询房间押金表
     *
     * @author anti
     * @date 2021-04-18 17:08:42
     */
    PageResult page(PageParam pageParam,RoomDepositParam roomDepositParam);

    /**
     * 房间押金表列表
     *
     * @author anti
     * @date 2021-04-18 17:08:42
     */
    List<RoomDeposit> list(RoomDepositParam roomDepositParam);

    List<RoomDepositResult> getDepositListByRoomId(Long roomId);

    List<LeaseDepositResult> getLeaseDepositListByLeaseId(Long roomId);

    /**
     * 添加房间押金表
     *
     * @author anti
     * @date 2021-04-18 17:08:42
     */
    void add(RoomDepositParam roomDepositParam);


    void addEntity(RoomDeposit roomDeposit);

    /**
     * 删除房间押金表
     *
     * @author anti
     * @date 2021-04-18 17:08:42
     */
    void delete(RoomDepositParam roomDepositParam);

    void deleteYjByRoomId(Long roomId);

    void deleteYjByRoomIds(List<Long> roomId);

    /**
     * 编辑房间押金表
     *
     * @author anti
     * @date 2021-04-18 17:08:42
     */
    void edit(RoomDepositParam roomDepositParam);

    /**
     * 查看房间押金表
     *
     * @author anti
     * @date 2021-04-18 17:08:42
     */
     RoomDeposit detail(RoomDepositParam roomDepositParam);

}
